Skip to content

Refresh views during one-shot schedule cleanup#4639

Merged
joshua-spacetime merged 2 commits intomasterfrom
joshua/fix/sched-reducer-view-refresh
Mar 16, 2026
Merged

Refresh views during one-shot schedule cleanup#4639
joshua-spacetime merged 2 commits intomasterfrom
joshua/fix/sched-reducer-view-refresh

Conversation

@joshua-spacetime
Copy link
Collaborator

Description of Changes

Fixes a bug where clients subscribed through views could miss delete updates when a one-shot scheduled reducer or procedure completed and the scheduler automatically deleted the corresponding schedule row. This patch ensures that scheduled-row cleanup refreshes any stale views before commit/broadcast.

Note, this only affected one-shot schedules. Interval schedules do not delete their schedule row after each run, so they were not going through this path.

API and ABI breaking changes

None

Expected complexity level and risk

1.5

Testing

Added regression coverage for:

  • one-shot scheduled reducer: table + view subscription sees insert then delete
  • one-shot scheduled procedure: table + view subscription sees insert then delete
  • failing scheduled reducer: cleanup still refreshes the dependent view delete
  • observe transitive scheduled table updates through join

The one-shot tests now assert on the scheduled table and dependent view in the same subscription updates, which proves the delete comes from the automatic cleanup transaction itself rather than a later manual write.

@joshua-spacetime joshua-spacetime added the bugfix Fixes something that was expected to work differently label Mar 13, 2026
@joshua-spacetime joshua-spacetime added this pull request to the merge queue Mar 16, 2026
Merged via the queue into master with commit 68022eb Mar 16, 2026
35 checks passed
@joshua-spacetime joshua-spacetime deleted the joshua/fix/sched-reducer-view-refresh branch March 16, 2026 18:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugfix Fixes something that was expected to work differently

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants